package com.ypd.shop.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import com.ypd.common.annotation.Excel;
import com.ypd.common.core.domain.BaseEntity;

/**
 * 拍卖品基础信息对象 tb_auction_item
 *
 * @author lin
 * @date 2025-02-28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AuctionItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 拍卖品唯一ID */
    private String itemId;

    /** 拍卖品名称 */
    @Excel(name = "拍卖品名称")
    private String itemName;

    /** 拍卖品详细描述 */
    @Excel(name = "拍卖品详细描述")
    private String description;

    /** 起拍价 */
    @Excel(name = "起拍价")
    private BigDecimal startPrice;

    /** 保留价（流拍阈值） */
    @Excel(name = "保留价", readConverterExp = "流=拍阈值")
    private BigDecimal reservePrice;

    /** 参与拍卖需缴纳的保证金 */
    @Excel(name = "参与拍卖需缴纳的保证金")
    private BigDecimal deposit;

    /** 状态（1:待拍 2:竞拍中 3:已结束 4:流拍） */
    @Excel(name = "状态", readConverterExp = "1=:待拍,2=:竞拍中,3=:已结束,4=:流拍")
    private Long status;

    /** 卖家ID（关联用户表） */
    @Excel(name = "卖家ID", readConverterExp = "关=联用户表")
    private String sellerId;




// 2. 修改字段类型及日期格式
    /** 拍卖开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")  // 增加时分秒
    @Excel(name = "拍卖开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime startTime;              // 修改类型

    /** 拍卖结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")  // 增加时分秒
    @Excel(name = "拍卖结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime endTime;                // 修改类型

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")  // 增加时分秒
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime createdAt;              // 修改类型


    /** 加价幅度 */
    @Excel(name = "加价幅度")
    private BigDecimal increment;



    /** 图片 */
    @Excel(name = "图片")
    private String image;



}
